<?php
class HomeAction extends PublicAction{



	/*********列表页模块*************/

	//列表功能模块1:输出栏目下所有内容
	//参数：表名，条数，排列顺序，默认缩略图
	protected function _list($table,$typeid,$num='60',$order='id desc',$s_pic='__PUBLIC__/images/s_pic.gif'){

		//过滤栏目ID
		if(is_numeric($typeid)){
			$where['typeid']=$typeid;
		}elseif(is_array($typeid)){
			$where['typeid']=array('in',$typeid);
		}else{
			return null;
		}

            //列表功能1：输出栏目下所有内容
            $list=$this->_select($table,$where,'id,title,pic,typeid,addtime',$order,$num);

            //处理图片路径
            $j=count($list);
            for($i=0;$i<$j;$i++){     
                $list[$i]['pic']=$this->litimg($list[$i]['pic']);
                if(empty($list[$i]['pic']) || !file_exists('./Uploads/'.$list[$i]['pic'])){
                    $list[$i]['pic']=$s_pic;
                }else{
                    $list[$i]['pic']=__ROOT__.'/Uploads/'.$list[$i]['pic'];
                }
            }

            return $list;
     }

    //列表功能模块2：分别输出子栏目内容
    //参数：子栏目ID，表名，条数，排列顺序，默认缩略图
    protected function _listAll($table,$typeids,$num=8,$order='id desc',$s_pic='__PUBLIC__/images/s_pic.gif'){

		//过滤栏目ID
		if(!is_array($typeids)){
			echo '<font style="color:red">批量输出栏目ID不正确</font>';
		}

            $j=count($typeids);
            for($i=0;$i<$j;$i++){
                $list[$i]['id']=$typeids[$i];
                $list[$i]['name']=$this->typename($typeids[$i]); //获得内容所在的栏目名

                //获得所有子栏目内容  
                $where['typeid']=$typeids[$i];
                $list[$i]['list']=$this->_select($table,$where,'id,title,pic,typeid,addtime',$order,$num);
                //缩略图地址
                for($a=0,$b=count($list[$i]['list']);$a<$b;$a++){

                    $list[$i]['list'][$a]['pic']=$this->litimg($list[$i]['list'][$a]['pic']);

                    if(!empty($list[$i]['list'][$a]['pic']) && file_exists('./Uploads/'.$list[$i]['list'][$a]['pic'])){
                        $list[$i]['list'][$a]['pic']=__ROOT__.'/Uploads/'.$list[$i]['list'][$a]['pic'];
                    }else{
                        $list[$i]['list'][$a]['pic']=$s_pic;
                    }
                }
                
                $this->assign('list',$list);
            } 

	} 
	/*********列表页模块结束*************/

	/*********内容页模块开始*************/

	//输出最新内容
	//参数：表名，查询栏目ID（单为整型，多为数组），条数，排序，
	protected function news($table,$typeid,$num='8',$order='id desc',$s_pic='__PUBLIC__/images/s_pic.gif'){

		//过滤栏目ID
		if(is_int($typeid)){
			$where['typeid']=$typeid;
		}elseif(is_array($typeid)){
			$where['typeid']=array('in',$typeid);
		}else{
			echo '<font style="color:red">输出栏目ID不正确</font>';
		}

		//查询内容并返回
		$list=$this->_select($table,$where,'id,title,pic,typeid,addtime',$order,$num);
		return $list;
	}


	/*********列表页模块结束*************/

	//按状态调用内容
	protected function stick($stick,$n,$typeids=Null){

			$article=D('ArticleAttach');
			$video=D('VideoAttach');
			$pic=D('PicAttach');
			
			$where['stick']='a';
			$res1=$article->relation(true)->where($where)->field('articleid,stick')->select();
			$res2=$video->relation(true)->where($where)->field('vid,stick')->select();
			$res3=$pic->relation(true)->where($where)->field('picid,stick')->select();

			if($res1 && $res2 && $res3){
				$res=array_merge($res1,$res2,$res3);
			}elseif($res1 && $res2){
				$res=array_merge($res1,$res2);
			}elseif($res2 && $res3){
				$res=array_merge($res2,$res3);
			}elseif($res1){
				$res=$res1;
			}elseif($res2){
				$res=$res2;
			}else{
				$res=$res3;
			}
			if(empty($typeids)){
				$arr=array();
				if(count($res)<=1){
					$result=$res;
				}else{
					//按ID排序
					$j=count($res);
					for($i=0;$i<$j;$i++){
						$arr[$i]=$res[$i]['id'];
					}
					rsort($arr);
					for($i=0;$i<$n;$i++){
						foreach($res as $k){
							if($arr[$i]==$k['id']){
								$result[$i]=$k;
							}
						}
					}	
				}			
			}else{
				$arr=array();
				$ids=array();
				if(empty($res)){
					return Null;
				}else{
					//取出所有对应栏目ID的数据赋给$arr
					for($i=0,$j=count($res);$i<$j;$i++){
						if(in_array($res[$i]['typeid'],$typeids)){
							$arr[$i]=$res[$i];
						}
					}
					//按ID排序
					$j=count($arr);
					for($i=0;$i<$j;$i++){
						$ids[$i]=$arr[$i]['id'];
					}
					rsort($ids);
					$n=count($ids);
					for($i=0;$i<$n;$i++){
						foreach($arr as $k){
							if($ids[$i]==$k['id']){
								$result[$i]=$k;
							}
						}
					}	
				}
			}

			
			$j=count($result);
			for($i=0;$i<$j;$i++){
				$result[$i]['url']=$this->url($result[$i]['typeid']);
			}

			return $result;
	}


		//当前位置
		static protected function coordinate(){
			$menu=M('Menu');
			$res=$menu->where('typeid='.$_GET['id'])->field('typeid,typeurl,name')->find();
			return $res;
		}
		public function getCoordinate(){
			if(S('coordinate')){
				return S('coordinate');	
			}else{
				$coordinate=self::coordinate();
				$coordinate['url']=$this->getUrl($coordinate['typeid']);
				$html='<a href="'.$coordinate['url'].'">'.$coordinate['name'].'</a>';
				$coordinate=$html;
				S('coordinate',$coordinate,F('cachetime'));
				return $coordinate;				
			}

		}





















}